Data flow control

ABSTRACT

A system and method for managing content data in a gaming environment to control the flow of information is provided wherein the method includes initiating a game configured to receive content data from at least one of a plurality of content servers, identifying at least one preferred content server from the plurality of content servers, operating the game to receive the content data from the at least one preferred content server, associating the content data with a content map based upon at least one characteristic, monitoring the content map to identify changed content data and adjusting content data based upon the changed content data.

RELATED APPLICATIONS

This application relates to U.S. Provisional Patent Application Ser. No.60/923,264 (Atty. Docket No. IGA-0001-P), filed Apr. 12, 2007, U.S.Provisional Patent Application Ser. No. 60/923,344 (Atty. Docket No.IGA-0002-P), filed Apr. 12, 2007, U.S. Provisional Patent ApplicationSer. No. 60/923,345 (Atty. Docket No. IGA-0003-P), filed Apr. 12, 2007,U.S. Provisional Patent Application Ser. No. 60/923,346 (Atty. DocketNo. IGA-0004-P), filed Apr. 12, 2007, U.S. Provisional PatentApplication Ser. No. 60/923,351 (Atty. Docket No. IGA-0005-P), filedApr. 12, 2007, U.S. Provisional Patent Application Ser. No. 60/923,352(Atty. Docket No. IGA-0006-P), filed Apr. 12, 2007, U.S. ProvisionalPatent Application Ser. No. 60/923,353 (Atty. Docket No. IGA-0007-P),filed Apr. 12, 2007, all of which are incorporated by reference hereinin their entireties.

FIELD OF THE INVENTION

This disclosure relates generally to the transfer of information andmore particularly to a method for controlling the transfer ofinformation over a network.

BACKGROUND OF THE INVENTION

As the placement of realistic advertisements in video games becomes morepopular and acceptable in the gaming community, more and more videogames are beginning to utilize video game advertisements as a viablesource of revenue. Currently, most video games that employ realisticadvertisements typically utilize a static advertising technique thatinvolves placing each advertisement in one site throughout game play. Assuch, the location of the advertisement cannot change or move and otheradvertisements cannot take its place. Thus, although there may bemultiple advertisements in one game, each advertisement can only occupya single location throughout the entire game. This is undesirablebecause it lacks the ability to maximize the effect of the advertisementon the gamer.

One way to increase the effectiveness of the advertisement on the gameris to utilize real-time dynamic advertising techniques which allow forthe targeting of advertisements to specific garners or groups of gamers.These dynamic advertising techniques allow multiple advertisements fromdifferent advertisers to be rotated through the same site during gameplay. Moreover, these dynamic advertising techniques allow for differentcontent types, such as Billboard, Logo, Video, Audio and Beacons, to beused to display advertisements to the gamer. Each of these content typesis capable of receiving and displaying multiple advertisementsthroughout the game for display to the gamer. For example, a racing gamemay have a billboard display advertising one product as the racing cargoes around the curve and passes the billboard. However, subsequenttimes the race car goes around the curve and passes the billboard,entirely different advertisements may be displayed. Thus, dynamicadvertising not only enhances the reality of the game's content, itmaximizes the revenue generating capability of the software product bygenerating multiple revenue streams, as opposed to one revenue streamgenerated using static advertising techniques.

Unfortunately however, currents methods of data flow control don't allowthe flow of content and impression data to be dynamically modified oradjusted.

SUMMARY OF THE INVENTION

A method for managing content data in a gaming environment to controlthe flow of information is provided and includes initiating a game whichis configured to receive content data from at least one of a pluralityof content servers, identifying at least one preferred content serverfrom the plurality of content servers, operating the game to receive thecontent data from the at least one preferred content server, associatingthe content data with a content map based upon at least onecharacteristic, monitoring the content map to identify changed contentdata and adjusting content data based upon the changed content data.

A system for implementing a method for managing content data in a gamingenvironment to control the flow of information is provided, wherein thesystem includes a network having a database and a gaming deviceconnected to the network and configured to operate in a gamingenvironment, wherein at least one of the gaming device and the networkincludes a means for, initiating a game which is configured to receivecontent data from at least one of a plurality of content servers,identifying at least one preferred content server from the plurality ofcontent servers, operating the game to receive the content data from theat least one preferred content server, associating the content data witha content map based upon at least one characteristic, monitoring thecontent map to identify changed content data and adjusting content databased upon the changed content data.

A computer readable storage medium having computer executableinstructions for implementing a method for managing content data in agaming environment to control the flow of information is provided,wherein the method includes initiating a game which is configured toreceive content data from at least one of a plurality of contentservers; identifying at least one preferred content server from theplurality of content servers, operating the game to receive the contentdata from the at least one preferred content server, associating thecontent data with a content map based upon at least one characteristic,monitoring the content map to identify changed content data andadjusting content data based upon the changed content data.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other features and advantages of the present inventionwill be more fully understood from the following detailed description ofillustrative embodiments, taken in conjunction with the accompanyingfigures in which like elements are numbered alike:

FIG. 1 is a high level schematic block diagram illustrating oneembodiment of a gaming system, in accordance with the present invention.

FIG. 2 is a lower level schematic block diagram illustrating theintegration server of the embodiment of the gaming system of FIG. 1, inaccordance with the present invention.

FIG. 3 is a schematic block diagram illustrating one embodiment of anetwork having a near real-time feedback system, in accordance with thepresent invention;

FIG. 4A is a schematic block diagram illustrating one embodiment of amethod for managing content data;

FIG. 4B is a block diagram illustrating the method of FIG. 4A; and

FIG. 5 is a block diagram illustrating one embodiment of a method forcontrolling the flow of information over a network, in accordance withthe present invention.

DETAILED DESCRIPTION

It should be appreciated that the present invention allows for anefficient flow of content and impression data due to a real-time (ornear real-time) feedback approach that allows for the monitoring andadjustment of performance using predetermined data, as well as trend andforecasting analysis. Although the invention is discussed herein interms of a Software Development Kit (SDK), it should be appreciated thatany type and/or configuration of application software may be used topractice the method of present invention. Moreover, the applicationsoftware may be implemented via any type or configuration of softwaresuitable to the desired end purpose, such as a generic SDK and/or anapplication specific SDK, where the software application may or may notbe embedded, in whole or in part. Furthermore, it is contemplated thatany type of advertising content may be implemented with the invention,including but not limited to 3-Dimensional and/or holographic content.

It should be appreciated that although the concepts as discussed hereinare discussed with regards to a gaming environment as follows, any typeof gaming environment or configuration may be used. Referring to FIG. 1,one embodiment of a gaming system 10 for implementing the method of theinvention showing the connectivity between the elements is shown andincludes a user gaming device 20 having gaming software 30 andapplication software (SDK) 40, a gaming server 50 (optional) and anintegration server 60 which includes advertiser information 70. Inaccordance with the present invention, a gaming server is optional andthe game may be wholly or partially implemented via one or morecomputer(s) and/or gaming device(s) as desired. During gameplay, thegaming software 30 communicates with the gaming server 50 (optional) tofacilitate the gameplay and the SDK 40 communicates with the integrationserver 60 to facilitate the integration of advertising content.Referring to FIG. 2, a lower level block diagram illustrating theelements of the integration server 60. As shown, the interaction withinthe integration server 60 is illustrated by a first set of arrows 75which represents the flow of impressions through the integration server60, a second set of arrows 80 which represents the flow of advertisingcontent through the integration server 60 and a third set of arrows 85which represents the flow of control messages (i.e. figuring out a userlocation, start session message, etc.) through the integration server60.

Referring to FIG. 3, a schematic block diagram illustrating oneembodiment of a network 100 having a near real-time feedback capabilityin accordance with the invention is shown and includes a web server 104which receives content data 102 and communicates the received contentdata to a database 106 for storage. The network 100 includes applicationsoftware 110, such as a Software Development Kit (SDK), that iscommunicated with an application server 108, wherein the applicationsoftware 110 is typically located on a game players gaming device (forexample, integrated into the game software), but may be located in anylocation suitable to the desired end purpose. The application server 108manages the content data requests from the application software 110,wherein the application software 110 requests the list of cells and/orthe list of content data, provides the content data to the game,provides services for tracking impression views and/or collectsimpression data from the gaming software. It should be appreciated thata content data request may include a request for any type of data. Thecontent data and/or impression data is then provided to a collectionserver 112 which receives and processes the content data and/orimpression data. It should be appreciated that the content data and/orimpression data may be processed for efficient transmission betweensystem elements as described in U.S. Provisional patent application Ser.No. 60/923,344, the contents of which is included herein in itsentirety.

A data warehouse 114 collects, combines and/or exports the processedcontent data and/or impression data to a server 116 (such as an OLAPserver) which provides analytic services for putting the content dataand/or impression data into reports, where the analytic services mayinclude any information involving the content data and/or impressiondata, i.e. impressions, server, statistics, etc. It is contemplated thatother servers or programs may be used in place of an OLAP server, suchas Excel®, Access®, etc. In accordance with the invention, a feedbackloop is implemented to allow the data warehouse 114 to monitor theinsertion of impression data into the game environment and to adjustcontent items on the database 106 so that they are delivered more orless frequently to the application server 108 as desired. The datawarehouse 114 can also monitor the amount of traffic generated on thenetwork and by means of weighting can lighten the network load. Inaccordance with the invention, this impression monitoring allows thesystem to allocate or consolidate resources as desired and/or asnecessary to ensure that the system is running as efficiently aspossible, for example by adding more computers based on content numbers.

It should be appreciated that the present invention is discussed hereinin terms of managing content data and controlling the flow ofinformation in order to aid in the understanding of the invention.

In accordance with the invention, one embodiment of a method 200 formanaging content data (albeit not the only embodiment) is discussedherein in terms of an application server 108 and is illustrated as shownin FIG. 4A and FIG. 4B. When a user begins the gaming session byinitiating the start of the game, the game software 202 sends out aStartSession call 204 to the login server 206, as shown in operationalblock 250. The StartSession call 204 starts the users gaming session,logs the user into the gaming server and eventually leads to the usergetting content. The StartSession call 204 contains an encrypted SessionKey 208, which may include desired information, such as the user ID andthe Game Title ID. The login server 206 sends the IP address of the useralong with an IP lookup request 210 to the IPLocation server 212, asshown in operational block 252. This causes the IPLocation server 212 tolook for the IP address of the ‘best’ (or desired) content server(s) 214(from a group of content servers 216 although the group of contentservers 216 may include only one content server 216) for the user basedupon the IP address of the user. Identifying the ‘best’ content servermay be accomplished via a variety of ways, including but not limited tomatching geographic area, network speed, network load etc.

Once the ‘best’ content server is identified, the IPLocation server 212sends redirect information 218 back to the login server 206 which sendsthe redirect information to the application software 220 so that theapplication software 220 can redirect the user to the identified ‘best’content server(s) 214, as shown in operational block 254. This allowsthe user to connect to the ‘best’ content server for that particularuser. Accordingly, the application software 220 then redirects the userto the IP address of the ‘best’ content server(s) 214 as directed by theIPLocation server 212, as shown in operational block 256. Theapplication software 220 sends messages to the identified ‘best’ contentserver(s) 214 to get further data, such as certificate informationand/or content data. The identified ‘best’ content server(s) 214 thensends content data (such as advertising and/or game data) to theapplication software 220 and/or game 202, as shown in operational block258.

It should be appreciated that the application software may populate thecache with content data and that for a Beacon type, Billboard type, Logotype, Video type and/or Audio type data, the application software maytrack the content data as desired, such as for example the ID of thecell, the percentage of the screen the cell occupied, the angle at whichthe player viewed the cell and/or the ID of the content item that wasdisplayed in the cell. Additionally, the server may communicate with theapplication software which may send impression data to the server,wherein the server may write the impression data to a file (i.e. theresult is impression data in a file). Moreover, it is contemplated thatthe content may include updates, patches or other types of software (orinformation) to allow for upgrades, repair, improvements or augmentationof services to the game software, the application software or even othersoftware/hardware/firmware in the system/network or in components of thesystem/network.

In accordance with the invention, when the data warehouse 114 (such as acollection server) collects, combines and exports the impressions to aserver 116 (such as an OLAP server) the server 116 may process the datafor future use. One embodiment includes using an OLAP server to feed aforecasting database. In this embodiment, the data warehouse 114 mayreceive unprocessed (raw) data and process the raw data (i.e. raw dataimpressions) to generate OLAP data cubes based upon desired information(session cubes, target cubes, total impression cubes, etc), where thesedata cubes can also contain analytic formulas, such as moving averages,day-to-day growth, average sessions per-user per-hour. The OLAP datacubes (which may be queried in a fashion similar to querying a database)may also be used to handle various tasks, including business needs suchas generating desired report, billing, forecasting, and/or systemmonitoring.

In accordance with the invention, targeted and/or general reports may begenerated and used for tracking and/or analyzing data, such asimpression data (i.e. OLAP may include a comprehensive matrix). Areporting hierarchy may be established and any dimension of the data maybe reported on, such as geographic (country, region and/or city), cell,pricing model, content type, session, title, organization and/oradvertising unit. One example of such a report may be a Daily TitleReport, which shows (for a single or specified title(s)) the unique(i.e. non-repeating) users and the impressions generated for each day ina specified time period, along with the duration of the advertisement onscreen, the size of the advertisement on screen and/or the deflectionangle (i.e. the angle at which the content is viewed at in degrees froma predetermined location, such as the center of the screen). That samereport may also generate a Daily Title Report for an individual or agroup of cells, which may show users and impressions for a desired timerperiod, such as each day in the specified time period, for each cellviewed (for example, a 1×2 billboard). Still another example may be areport based upon various other desired parameters, such as contenttype, which may show users and impressions for each day in the specifiedtime period for each content type viewed (for example, a 1×2 billboardin PNG format). Furthermore, there may also be a report that shows thesame reports visually, such as in pie charts, graphs, data tables, etc.

Referring to FIG. 5, a block diagram illustrating one embodiment of amethod 300 for controlling the flow of information over a network 100 inaccordance with the invention is shown. The method includes receiving acontent data item 102, as shown in operational block 302, wherein thecontent data item 102 may be received/communicated using any methodand/or device suitable to the desired end purpose, such as a web-basedinterface device 104. Once the content data item is received, thecontent data item is logged into the database 106 and propagated to theappropriate content data map(s) based on desired characteristics, suchas its type and targeting properties, as shown in operational block 304.The content map is updated with the new content item and/or monitoredfor changes in the content map(s), as shown in operational block 306,wherein the content item and/or content map is available for retrievalby the software application (SDK) 110, as shown in operational block308. As the application generates one or more impressions, eachimpression is sent back to the system 100 via the impression/collectionserver 112, which processes the impression and inserts the processedimpression into the data warehouse 114, as shown in operational block310. It should be appreciated that the impressions may be processed toput the impression data into a desired format and/or to identifystatistical and/or non-statistical performance and/or operationalcharacteristics. The data warehouse 114 stores the impression data, asshown in operational block 312 and communicates the impression data tothe analytics server 116, as shown in operational block 314. Inaccordance with the invention, the analytics server 116 is used forreporting and forecasting services, wherein the forecasting servicesallows impression generation to be adjusted as desired so that thecontent data items may be delivered on a more or less frequent basis andwherein the reporting services allow reports to be generated that showdesired data, parameters, such as impressions statistics.

It should be appreciated that the method of the present invention may ormay not be embodied, in whole or in part, via software, firmware and/orhardware. Accordingly, the invention may be implemented via any type orconfiguration of software suitable to the desired end purpose, such as ageneric SDK and/or an application specific SDK. Additionally, it shouldalso be appreciated that the method of the present invention may or maynot be embodied, in whole or in part, via instruction using trainingmanuals (i.e. text based materials), seminars, classes, and/or any othermedia suitable to the desired end purpose. Moreover, it should beappreciated that although the method of the present invention may beimplemented, in whole or in part, via software, hardware, firmwareand/or any combination thereof, it is also contemplated that the methodof the present invention may also be implemented, in whole or in part,without the use of software, hardware, firmware and/or any combinationthereof. For example, without the full or partial use of any software,hardware and/or firmware and/or with any combination thereof, but rathervia instruction using PC based software and/or classroom instructionwith text materials (i.e. books, pamphlets, handouts, tapes, opticalmedia, etc.).

Moreover, it should be appreciated that each of the elements of thepresent invention may be implemented in part, or in whole, in any ordersuitable to the desired end purpose. In accordance with an exemplaryembodiment, the processing required to practice the method of thepresent invention, either in whole or in part, may be implemented,wholly or partially, by a controller operating in response to amachine-readable computer program. In order to perform the prescribedfunctions and desired processing, as well as the computations therefore(e.g. execution control algorithm(s), the control processes prescribedherein, and the like), the controller may include, but not be limitedto, a processor(s), computer(s), memory, storage, register(s), timing,interrupt(s), communication interface(s), and input/output signalinterface(s), as well as combination comprising at least one of theforegoing. It should also be appreciated that the embodiments disclosedherein are for illustrative purposes only and include only some of thepossible embodiments contemplated by the present invention.

Furthermore, the invention may be wholly or partially embodied in theform of a computer system or controller implemented processes. It shouldbe appreciated that any type of computer system (as is well known in theart) and/or gaming system may be used and that the invention may beimplemented via any type of network setup, including but not limited toa LAN and/or a WAN (wired or wireless). The invention may also beembodied in the form of computer program code containing instructionsembodied in tangible media, such as floppy diskettes, CD-ROMs, harddrives, and/or any other computer-readable medium, wherein when thecomputer program code is loaded into and executed by a computer orcontroller, the computer or controller becomes an apparatus forpracticing the invention. The invention can also be embodied in the formof computer program code, for example, whether stored in a storagemedium, loaded into and/or executed by a computer or controller, ortransmitted over some transmission medium, such as over electricalwiring or cabling, through fiber optics, or via electromagneticradiation, wherein when the computer program code is loaded into andexecuted by a computer or a controller, the computer or controllerbecomes an apparatus for practicing the invention. When implemented on ageneral-purpose microprocessor the computer program code segments mayconfigure the microprocessor to create specific logic circuits.

While the invention has been described with reference to an exemplaryembodiment, it should be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted forelements thereof without departing from the scope of the invention. Inaddition, many modifications may be made to adapt a particular situationor material to the teachings of the invention without departing from thescope thereof. Therefore, it is intended that the invention not belimited to the particular embodiment disclosed as the best modecontemplated for carrying out this invention, but that the inventionwill include all embodiments falling within the scope of the appendedclaims. Moreover, unless specifically stated any use of the terms first,second, etc. do not denote any order or importance, but rather the termsfirst, second, etc. are used to distinguish one element from another.

1. A method for managing content data in a gaming environment to controlthe flow of information, comprising: initiating a game configured toreceive content data from at least one of a plurality of contentservers; identifying at least one preferred content server from theplurality of content servers; operating the game to receive the contentdata from the at least one preferred content server; associating thecontent data with a content map based upon at least one characteristic;monitoring the content map to identify changed content data; andadjusting content data based upon the changed content data.
 2. Themethod of claim 1, wherein said initiating includes a user logging intoa game.
 3. The method of claim 1, wherein said associating the contentdata includes logging the content data into a database and propagatingthe content data to the content map.
 4. The method of claim 3, whereinsaid propagating includes propagating said content data based upon adesired characteristic of said content data.
 5. The method of claim 1,wherein said monitoring includes transferring said content data to aserver, wherein said server monitors changes in said content map.
 6. Themethod of claim 1, wherein said monitoring includes transferring saidcontent data to a server, wherein said server updates the content mapwith new content data.
 7. A system for implementing a method formanaging content data in a gaming environment to control the flow ofinformation, the system comprising: a network having a database; and agaming device connected to the network and configured to operate in agaming environment, wherein at least one of the gaming device and thenetwork includes a means for, initiating a game configured to receivecontent data from at least one of a plurality of content servers;identifying at least one preferred content server from the plurality ofcontent servers; operating the game to receive the content data from theat least one preferred content server; associating the content data witha content map based upon at least one characteristic; monitoring thecontent map to identify changed content data; and adjusting content databased upon the changed content data.
 8. The system of claim 7, whereinsaid initiating includes a user logging into a game.
 9. The method ofclaim 7, wherein said associating the content data includes logging thecontent data into a database and propagating the content data to thecontent map.
 10. The method of claim 9, wherein said propagatingincludes propagating said content data based upon a desiredcharacteristic of said content data.
 11. The method of claim 7, whereinsaid monitoring includes transferring said content data to a server,wherein said server monitors changes in said content map.
 12. The methodof claim 7, wherein said monitoring includes transferring said contentdata to a server, wherein said server updates the content map with newcontent data.
 13. A computer readable storage medium having computerexecutable instructions for implementing a method for managing contentdata in a gaming environment to control the flow of information, themethod comprising: initiating a game configured to receive content datafrom at least one of a plurality of content servers; identifying atleast one preferred content server from the plurality of contentservers; operating the game to receive the content data from the atleast one preferred content server; associating the content data with acontent map based upon at least one characteristic; monitoring thecontent map to identify changed content data; and adjusting content databased upon the changed content data.
 14. The computer readable storagemedium of claim 13, wherein said initiating includes a user logging intoa game.
 15. The computer readable storage medium of claim 13, whereinsaid associating the content data includes logging the content data intoa database and propagating the content data to the content map.
 16. Thecomputer readable storage medium of claim 15, wherein said propagatingincludes propagating said content data based upon a desiredcharacteristic of said content data.
 17. The computer readable storagemedium of claim 13, wherein said monitoring includes transferring saidcontent data to a server, wherein said server monitors changes in saidcontent map.
 18. The computer readable storage medium of claim 13,wherein said monitoring includes transferring said content data to aserver, wherein said server updates the content map with new contentdata.